<?php

namespace App\Trip\Payment;


use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;
use EasyWeChat\Kernel\Exceptions\InvalidConfigException;


interface PayQueryInterface
{
    public function setOutTradeNo(string $out_trade_no);

    public function setTransactionId(string $transaction_id);

    /**
     * @param string $out_trade_no
     * @return array
     * @throws InvalidArgumentException
     * @throws InvalidConfigException
     *
     */
    public function queryByTradeNo(string $out_trade_no): array;

    /**
     * @throws InvalidArgumentException
     * @throws InvalidConfigException
     */
    public function queryByTransactionId(string $transaction_id): array;

    public function getQueryResult(): array;
}